class Solution {
public:
    void merge(vector<int>& nums1, int m, vector<int>& nums2, int n) {
        int idx1 = m - 1;
        int idx2 = n - 1;
        int p = n + m - 1;
        while (idx2 >= 0) {
            if (idx1 >= 0 && nums1[idx1] > nums2[idx2]) {
                nums1[p--] = nums1[idx1--];
            }
            else {
                nums1[p--] = nums2[idx2--];
            }
        }
        return;
    }
};